package com.medusa.aps.business.model.enums;

import com.alibaba.fastjson2.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.EnumValue;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

/**
 * @author: xh.yu
 * @createTime: 2023/11/18 09:49
 */
@Getter
@Schema(description = "排产状态")
@RequiredArgsConstructor
public enum PlanningOperationType {

    /**
     * 部分运算
     */
    @Schema(description = "部分运算")
    PARTIAL_OPERATION(0, "部分运算"),

    /**
     * 全部运算
     */
    @Schema(description = "全部运算")
    ALL_OPERATION(1, "全部运算"),


    /**
     * 插单排产
     */
    @Schema(description = "插单排产")
    ORDER_INSERT_OPERATION(2, "插单排产"),


    /**
     * 取消排产
     */
    @Schema(description = "取消排产")
    CANCEL_OPERATION(3, "取消排产"),


    /**
     * 重新排产
     */
    @Schema(description = "重新排产")
    AGAIN_OPERATION(4, "重新排产"),


    /**
     * 终止排产
     */
    @Schema(description = "终止排产")
    TERMINATE_OPERATION(5, "终止排产"),
    ;

    @EnumValue
    private final Integer code;

    @JSONField(value = true)
    private final String value;
}
